package cn.topevery.garden.entity.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.topevery.garden.entity.po.ProjPlan;
import com.alibaba.fastjson.annotation.JSONField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 项目计划表 视图
 *
 * @author code-generate
 * @date 2022-11-02
 */
@Data
@ApiModel(value = "ProjPlan 视图", description = "项目计划表 视图")
public class ProjPlanVO implements Serializable {
    /**
     * 自增id
     */
    private Integer id;

    /**
     * 计划ID
     */
    @ApiModelProperty(value = "计划ID")
    @Excel(name = "计划ID", orderNum = "0")
    private String planId;

    /**
     * 计划名称
     */
    @ApiModelProperty(value = "计划名称")
    @Excel(name = "计划名称", orderNum = "0")
    private String planName;

    /**
     * 计划编码(对应建设阶段编码数据字典配置，例如：合同签订、开工、竣工验收、移交）
     */
    @ApiModelProperty(value = "计划编码(对应建设阶段编码数据字典配置，例如：合同签订、开工、竣工验收、移交）")
    @Excel(name = "计划编码(对应建设阶段编码数据字典配置，例如：合同签订、开工、竣工验收、移交）", orderNum = "0")
    private String planCode;

    /**
     * 项目ID
     */
    @ApiModelProperty(value = "项目ID")
//    @Excel(name = "项目ID", orderNum = "0")
    private String projId;


    @ApiModelProperty(value = "项目名称")
    @Excel(name = "项目名称", orderNum = "0")
    String projName;

    /**
     * 立项ID
     */
    @ApiModelProperty(value = "立项ID")
//    @Excel(name = "立项ID", orderNum = "0")
    private String projInitId;

    /**
     * 合同ID
     */
    @ApiModelProperty(value = "合同ID")
    @Excel(name = "合同ID", orderNum = "0")
    private String contractId;

    /**
     * 计划开始时间
     */
    @ApiModelProperty(value = "计划开始时间")
    @Excel(name = "计划开始时间", orderNum = "0")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime planBeginTime;

    /**
     * 计划结束时间
     */
    @ApiModelProperty(value = "计划结束时间")
    @Excel(name = "计划结束时间", orderNum = "0")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime planEndTime;

    /**
     * 实际开始时间
     */
    @ApiModelProperty(value = "实际开始时间")
    @Excel(name = "实际开始时间", orderNum = "0")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime realBeginTime;

    /**
     * 实际结束时间
     */
    @ApiModelProperty(value = "实际结束时间")
    @Excel(name = "实际结束时间", orderNum = "0")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime realEndTime;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    @Excel(name = "创建人", orderNum = "0")
    private String dbCreateId;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @Excel(name = "创建时间", orderNum = "0")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime dbCreateDate;

    /**
     * 修改人
     */
    @ApiModelProperty(value = "修改人")
    @Excel(name = "修改人", orderNum = "0")
    private String dbLastUpdateId;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    @Excel(name = "修改时间", orderNum = "0")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime dbLastUpdateDate;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    @Excel(name = "备注", orderNum = "0")
    private String remark;

    /**
     * 排序号
     */
    @ApiModelProperty(value = "排序号")
    @Excel(name = "排序号", orderNum = "0")
    private Integer orderNum;

    @ApiModelProperty(value = "经办人")
    @Excel(name = "经办人", orderNum = "0")
    private String operator;
}
